package com.hdl.design.pattern.factory.method;

/**
 * 类名 Client
 * 描述 根据开闭原则，我们如果新增功能不需要对原有的工厂类进行修改，只需要增加新的功能操作和工厂即可。
 * 但是，只不过是把职责转移到了客户端，客户端仍然需要去判断使用哪个工厂和操作。
 *
 * @author hedonglin
 * @version 1.0
 * @date 2019/9/25 10:06
 */
public class Client {
    public static void main(String[] args) {
        // 创建加法操作工厂
        AbstractOperationFactory factory = new OperationFactoryAdd();
        // 通过加法操作工厂创建加法操作
        AbstractOperation operation = factory.createOperation();

        // 准备参数
        operation.numberLeft = 1;
        operation.numberRight = 2;

        // 获取结果
        System.out.println(operation.getResult());
    }
}
